home *** CD-ROM | disk | FTP | other *** search
/ Creative Computers / Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso / shareware / fractals / mandelsquare / mandelsquare.doc < prev    next >
Text File  |  1994-11-17  |  20KB  |  363 lines

  1. ========================== MandelSquare 1.6 ==========================
  2. ======================================================================
  3. Yet another Mandelbrot set exploration program written by Olaf `Olsen'
  4. Barthel.   ©  Copyright  1991  by  Olaf `Olsen' Barthel, Freeware, all
  5. rights reserved.
  6.    No guarantee of any kind is made that the program described in this
  7. document is 100% reliable.  You use this material on your own risk.
  8.  
  9. ========================= A word of warning ==========================
  10. ======================================================================
  11. `MandelSquare'  is  a  very `demanding' program which will run only on
  12. Amiga systems equipped with expensive custom hardware (i.e.  '881/'882
  13. accelerator boards, 68020/30/40 processors and real fast ram), a plain
  14. A3000(T/UX)  will do as well, but not quite as nicely as an A2000 with
  15. a  GVP  A3001 expansion board, an A3000(T/UX) fitted with an '040 card
  16. or an A4000.
  17.    Kickstart  2.04  (v37.175 or higher) and Workbench 2.1 or Workbench
  18. 3.0 are required to run this program.
  19.  
  20.                         YOU HAVE BEEN WARNED!
  21.  
  22. ============================= Background =============================
  23. ======================================================================
  24. I  have  been toying with this kind of program for a long time, I even
  25. started  writing  it  on  my  ol' faithful A500 back in 1990.  Since I
  26. don't  have  a  great  interest in mathematics (which currently causes
  27. `some'  problems  while  studying  computer  science  at university) I
  28. started this project to learn a bit about complex numbers and to shake
  29. off some of the trouble mentioned above.
  30.    The first internal revisions of this program would simply calculate
  31. pictures  dot by dot.  This technique while accurate and precise takes
  32. quite  a lot of time (see Thomas R.  Wilcox' `MSE').  There are faster
  33. ways   to   calculate   a  picture,  such  as  the  recursive  routine
  34. `MandelSquare'  uses:   the  screen is divided into four areas; if the
  35. pixels  in  the  four corners are of the same colour, the rectangle is
  36. filled  in  this  colour,  if  not,  the  area  is  divided  into four
  37. rectangles  and  the  same procedure is applied again.  This technique
  38. relies  on  the fact that the Mandelbrot set does not contain isolated
  39. points,  each  outline  rests  within a different outline, just like a
  40. matrioshka  puppet  is  contained in its mother puppet. `MandelSquare'
  41. uses  a  very  simple  form  of this algorithm which requires that the
  42. rectangles are square, and that's how the child received a name...
  43.    `MandelSquare'   uses  the  standard  z²+c  algorithm  to  generate
  44. pictures,  a  numerical  coprocessor  or an '040 is required since the
  45. calculation  is  done in a fast hand-coded '881/'882 assembly language
  46. subroutine.   While  throughout  the  whole  program  double precision
  47. values  (64  bits)  are  used  for calculation, the '881/'882 assembly
  48. language  subroutine  uses extended precision (96 bits) to do its job.
  49. While  I  can  and  will  not claim that `MandelSquare' is the fastest
  50. Mandelbrot  set  exploration program, I may say that it is the fastest
  51. program in respect to its accuracy and the algorithm employed.
  52.    Colours  are  assigned to pixels based on a linear transition table
  53. which  avoids the unpleasant look of broken colour ranges.  Transition
  54. tables  are  created  according  to  the  screen resolution (256/32/16
  55. colours).
  56.    Except  for  the  rectangle  filling  routines  `MandelSquare' uses
  57. custom  assembly  language  routines to do the picture rendering.  The
  58. program  still  tries to be very careful not to disturb system imagery
  59. such as the menu bar and the pull down menus.
  60.    The  screen  size  depends  on  the video overscan settings of your
  61. machine.   The following text assumes a resolution of 256 × 256 pixels
  62. (low resolution) and 512 × 512 pixels (high resolution).
  63.    In  late  August I played with the idea of adding animation support
  64. to  the  program, and here it is:  select the area you wish to zoom to
  65. and  `MandelSquare' will generate a standard Anim-Opt-5 animation file
  66. while  it  zooms  to  the  indicated  spot.  The animation file can be
  67. viewed  using  programs  such  as `ShowAnim', `DisplayAnim', `PPAnim',
  68. `Animagic', `The Director', `DPaint III/IV' and `MandelSquare' itself,
  69. of  course.  Many thanks to Gary Bonham and Jim Kent for releasing the
  70. anim  file  creation/delta  compression  and replay code to the public
  71. domain.
  72.    At        startup    time  `MandelSquare'  tries  to  read  a  file
  73. called  `MandelSquare.Title'    which    happens  to  be  the standard
  74. Mandelbrot  set  picture   where  all explorations will start.  If the
  75. named  file cannot be  found  the program will generate the picture it
  76. needs,  and  it  is  recommended  to  save  it  to disk under the name
  77. mentioned before.
  78.    Support  for  Kickstart  3.0 and the AGA chip set was added in late
  79. summer 1992, primarily to create an application to test the A4000.  As
  80. of  this  writing,  the  maximum  screen  depth  is  limited  to eight
  81. bitplanes,  which  yields 256 different colours.  The palette range is
  82. currently limited to eight bits per component (red, green, blue) which
  83. yields 16,777,216 distinct colours.  The screen size has to be exactly
  84. square  for  this program to work correctly.  If a monitor driver does
  85. not  support  this resolution, the corresponding display mode will not
  86. be included in the list to choose from.
  87.  
  88. ============================= The menus ==============================
  89. ======================================================================
  90. Following  is  a  description  of the functions and options associated
  91. with the pull down menus.
  92.  
  93. Open picture........... Opens   a  picture  file  in  IFF-ILBM  format
  94.                         created  by `MandelSquare', reads and displays
  95.                         it.   Since  coordinates, number of iterations
  96.                         and  screen  width  are saved with the picture
  97.                         you  may  continue  exploring  from  the point
  98.                         where  you  saved  it.
  99.  
  100. Save picture........... Saves  the current picture under the last name
  101.                         a  picture  file  was loaded.  If no file name
  102.                         was  loaded  yet,  you  will  be  prompted  to
  103.                         provide a file name.
  104.  
  105. Save picture as........ Saves  the  current  picture  under a name you
  106.                         have to provide.
  107.  
  108. Priority............... This  menu  allows  you  to  select  the  task
  109.                         priority `MandelSquare' will run under.  While
  110.                         0  is  the  standard  priority the majority of
  111.                         tasks  and  processes  will  execute  on  your
  112.                         machine  you  may want to change this value to
  113.                         -5  to  save  processing  time other tasks may
  114.                         wish   to   allocate   or   to   +5   to  make
  115.                         `MandelSquare'  allocate  more processing time
  116.                         than  possibly  available  when  running under
  117.                         priority 0.
  118.  
  119. Replay animation....... Will   load  and  replay  any  animation  file
  120.                         which meets the following conditions:
  121.  
  122.                         - Since  the replay routines do not open their
  123.                           own  display  (as  most  anim players do) it
  124.                           will   use   the  `MandelSquare' screen  for
  125.                           display.   This  means that any animation to
  126.                           be  replayed  must  be  recorded in the same
  127.                           resolution  (width,  height,  depth)  of the
  128.                           current screen.
  129.  
  130.                         - The  animation file must be compressed using
  131.                           delta mode 5.
  132.  
  133.                         - There  must  be  enough  memory available to
  134.                           load  the  animation  frames.  Any animation
  135.                           which  does  not  fit  into  memory  will be
  136.                           truncated.
  137.  
  138.                            If  successfully  loaded the animation will
  139.                         be  p